.wrapper {
  margin-bottom: 40px;
  display: grid;
  grid-gap: 40px 20px;
  grid-template-columns: repeat(4, calc((100% - 60px) / 4));

  @media (min-width: 768px) {
    grid-template-columns: repeat(4, calc((100% - 60px) / 4));
  }

  @media (min-width: 992px) {
    grid-template-columns: repeat(5, calc((100% - 80px) / 5));
  }

  @media (min-width: 1200px) {
    grid-template-columns: repeat(6, calc((100% - 100px) / 6));
  }

  @media (min-width: 1600px) {
    grid-template-columns: repeat(8, calc((100% - 140px) / 8));
  }

  .top {
    height: 0;
    padding-top: 140%;
    background-color: rgba(0, 0, 0, 0.1);
    background-size: cover;
    background-position: center;
    border-radius: 6px;
    vertical-align: bottom;
    position: relative;
    cursor: pointer;

    span {
      display: block;
      width: 100%;
      height: 30px;
      line-height: 30px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-align: center;
    }

    .update {
      position: absolute;
      right: 0;
      top: 0;
      padding: 3px 10px;
      color: white;
      background-color: rgba(0, 0, 0, 0.5);
      border-radius: 0 4px 0 4px;
    }

    .updateActive {
      background-color: rgb(242, 93, 142);
    }

    .rate {
      position: absolute;
      left: -5px;
      top: 5px;
      padding: 1px 15px;
      min-width: 30px;
      color: white;
      background-color: rgba(0, 0, 0, 0.7);
      border-radius: 0 2px 2px 0;
    }
  }
}
